#include "Configuration.h"
#include "SplitToolCppJieba.h"
#include "DictProducer.h"
#include <iostream>
#include <chrono>
using namespace std;

//生成中英文词典和词典的索引表
int main()
{
    auto start = chrono::steady_clock::now();

    Configuration *config = Configuration::getInstance("../conf/myconf.conf");
    SplitToolCppJieba splitTool(config);
    
    //生成英文词典和索引表
    DictProducer en(config);
    en.showFiles();
    en.buildEnDict();
    en.createEnIndex();
    /* en.showDict(); */
    /* en.showIndex(); */
    en.storeDict(config->parseConfig("DICT_EN"));
    en.storeIndex(config->parseConfig("INDEX_EN"));

    //生成中文词典和索引表
    DictProducer cn(config, &splitTool);
    cn.showFiles();
    cn.buildCnDict();
    cn.createCnIndex();
    /* cn.showDict(); */
    /* cn.showIndex(); */
    cn.storeDict(config->parseConfig("DICT_CN"));
    cn.storeIndex(config->parseConfig("INDEX_CN"));
    
    auto end = chrono::steady_clock::now();
    chrono::duration<double> duration_seconds = end - start;
    double seconds = duration_seconds.count();
    cout << "程序执行总时长：" << seconds << " 秒" << endl;
    
    return 0;
}

